#ifndef __IMAGE_SET_H__
#define __IMAGE_SET_H__

#include <vector>
#include <boost/smart_ptr.hpp>

namespace cshotel {
    class InputImage;
    
    class ImageSet {
    public:
        class BoundingBox {
        public:
            double minX, minY, width, height;
            BoundingBox(double _minX = 0.0, double _minY = 0.0, double _width = 0.0, double _height = 0.0) : minX(_minX), minY(_minY), width(_width), height(_height) { }
            
            double getArea() { return width * height; }
        };
        
        void addImage(boost::shared_ptr<InputImage> newImage);
        const std::vector<boost::shared_ptr<InputImage> >& getImages();
        BoundingBox getBoundingBox();
        int getSize();
        
    private:
        std::vector<boost::shared_ptr<InputImage> > images;
    };
}

#endif
